package com.adtec.base.cloud.baseservice.rbac.system.service;


import com.adtec.base.cloud.baseservice.rbac.config.DbLoadSysConfig;
import com.adtec.base.cloud.commons.exception.CustomException;
import com.adtec.base.cloud.commons.exception.CustomExceptionType;
import com.adtec.base.cloud.persistence.system.mapper.SysConfigMapper;
import com.adtec.base.cloud.persistence.system.model.SysConfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
@Slf4j
public class SysConfigService {
    @Resource
    private SysConfigMapper sysConfigMapper;

    public List<SysConfig> queryConfigs(String configLik) {
        QueryWrapper<SysConfig> query = new QueryWrapper<>();
        query.like(StringUtils.isNotEmpty(configLik), "param_name", configLik).or().like(StringUtils.isNotEmpty(configLik), "param_key", configLik);
        return sysConfigMapper.selectList(query);
    }

    public void updateConfig(SysConfig sysconfig) {
        if (sysconfig.getId() == null) {
            throw new CustomException(CustomExceptionType.USER_INPUT_ERROR, "修改操作必须带主键");
        } else {
            sysConfigMapper.updateById(sysconfig);
        }
    }

    public void addConfig(SysConfig sysconfig) {
        sysConfigMapper.insert(sysconfig);
    }

    public void deleteConfig(Long configId) {
        sysConfigMapper.deleteById(configId);
    }

}
